From 8f190fbf2f14a1fd1ca470658282006e3e7295dd Mon Sep 17 00:00:00 2001 From: Jonathan Blandford Date: Mon, 1 Mar 2004 17:08:19 +0000 Subject: [PATCH] Handle shrinking/growing. Mon Mar 1 12:05:54 2004 Jonathan Blandford * gtk/gtkfilechooserdialog.c (file_chooser_widget_resizable_hints_changed): Handle shrinking/growing. --- ChangeLog | 6 ++++++ ChangeLog.pre-2-10 | 6 ++++++ ChangeLog.pre-2-4 | 6 ++++++ ChangeLog.pre-2-6 | 6 ++++++ ChangeLog.pre-2-8 | 6 ++++++ gtk/gtkfilechooserdefault.c | 4 +--- gtk/gtkfilechooserdialog.c | 28 ++++++++++++++++++++++++++++ 7 files changed, 59 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7d0970759d..17c3b2940c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Mar 1 12:05:54 2004 Jonathan Blandford + + * gtk/gtkfilechooserdialog.c + (file_chooser_widget_resizable_hints_changed): Handle + shrinking/growing. + 2004-03-01 Michael Natterer * gtk/gtktextbtree.c: removed underscores from calls to diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 7d0970759d..17c3b2940c 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +Mon Mar 1 12:05:54 2004 Jonathan Blandford + + * gtk/gtkfilechooserdialog.c + (file_chooser_widget_resizable_hints_changed): Handle + shrinking/growing. + 2004-03-01 Michael Natterer * gtk/gtktextbtree.c: removed underscores from calls to diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 7d0970759d..17c3b2940c 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,9 @@ +Mon Mar 1 12:05:54 2004 Jonathan Blandford + + * gtk/gtkfilechooserdialog.c + (file_chooser_widget_resizable_hints_changed): Handle + shrinking/growing. + 2004-03-01 Michael Natterer * gtk/gtktextbtree.c: removed underscores from calls to diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 7d0970759d..17c3b2940c 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,9 @@ +Mon Mar 1 12:05:54 2004 Jonathan Blandford + + * gtk/gtkfilechooserdialog.c + (file_chooser_widget_resizable_hints_changed): Handle + shrinking/growing. + 2004-03-01 Michael Natterer * gtk/gtktextbtree.c: removed underscores from calls to diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 7d0970759d..17c3b2940c 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,9 @@ +Mon Mar 1 12:05:54 2004 Jonathan Blandford + + * gtk/gtkfilechooserdialog.c + (file_chooser_widget_resizable_hints_changed): Handle + shrinking/growing. + 2004-03-01 Michael Natterer * gtk/gtktextbtree.c: removed underscores from calls to diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index 8e6c1e3505..50f2d964e7 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -1849,9 +1849,6 @@ expander_changed_cb (GtkExpander *expander, GParamSpec *pspec, GtkFileChooserDefault *impl) { - gboolean active; - - active = gtk_expander_get_expanded (expander); update_appearance (impl); } @@ -2193,6 +2190,7 @@ update_appearance (GtkFileChooserDefault *impl) } g_signal_emit_by_name (impl, "default-size-changed"); + g_signal_emit_by_name (impl, "resizable-hints-changed"); } static void diff --git a/gtk/gtkfilechooserdialog.c b/gtk/gtkfilechooserdialog.c index e9cb26ea41..db4dff6676 100644 --- a/gtk/gtkfilechooserdialog.c +++ b/gtk/gtkfilechooserdialog.c @@ -149,6 +149,32 @@ file_chooser_widget_file_activated (GtkFileChooser *chooser, gtk_window_activate_default (GTK_WINDOW (dialog)); } +static void +file_chooser_widget_resizable_hints_changed (GtkWidget *widget, + GtkFileChooserDialog *dialog) +{ + GtkFileChooserDialogPrivate *priv; + gboolean resize_horizontally; + gboolean resize_vertically; + GdkGeometry geometry; + + priv = GTK_FILE_CHOOSER_DIALOG_GET_PRIVATE (dialog); + + _gtk_file_chooser_embed_get_resizable_hints (GTK_FILE_CHOOSER_EMBED (priv->widget), + &resize_horizontally, + &resize_vertically); + + + geometry.min_width = -1; + geometry.min_height = -1; + geometry.max_width = (resize_horizontally?G_MAXSHORT:-1); + geometry.max_height = (resize_vertically?G_MAXSHORT:-1); + + gtk_window_set_geometry_hints (GTK_WINDOW (dialog), NULL, + &geometry, + GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE); +} + static void file_chooser_widget_default_size_changed (GtkWidget *widget, GtkFileChooserDialog *dialog) @@ -226,6 +252,8 @@ gtk_file_chooser_dialog_constructor (GType type, G_CALLBACK (file_chooser_widget_file_activated), object); g_signal_connect (priv->widget, "default-size-changed", G_CALLBACK (file_chooser_widget_default_size_changed), object); + g_signal_connect (priv->widget, "resizable-hints-changed", + G_CALLBACK (file_chooser_widget_resizable_hints_changed), object); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (object)->vbox), priv->widget, TRUE, TRUE, 0); gtk_widget_show (priv->widget); -- 2.30.2